﻿// 3425. 小白鼠排队.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <algorithm>


using namespace std;
/*
https://www.acwing.com/problem/content/3428/

N只小白鼠，每只鼠头上戴着一顶有颜色的帽子。

现在称出每只白鼠的重量，要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色。

帽子的颜色用 red，blue 等字符串来表示。

不同的小白鼠可以戴相同颜色的帽子。

白鼠的重量用整数表示。

输入格式
第一行为一个整数 N，表示小白鼠的数目。

下面有 N行，每行是一只白鼠的信息。第一个为不大于 100
 的正整数，表示白鼠的重量；第二个为字符串，表示白鼠的帽子颜色，字符串长度不超过 10个字符。

注意：白鼠的重量各不相同。

输出格式
按照白鼠的重量从大到小的顺序输出白鼠的帽子颜色。

数据范围
1≤N≤100
输入样例：
3
30 red
50 blue
40 green
输出样例：
blue
green
red
*/

const int N = 200;
int n;
struct MOUSE {
	int weight;
	string color;
}mouse[N];;

bool cmp(const struct MOUSE& a, const struct MOUSE& b) {
	return a.weight > b.weight;
}

int main()
{
	cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> mouse[i].weight >> mouse[i].color;
	}

	sort(mouse,mouse+n,cmp);

	for (int i = 0; i < n; i++) {
		cout  << mouse[i].color << endl;
	}

	return 0;
}

 